home *** CD-ROM | disk | FTP | other *** search
-
-
- /* Copyright (c) 1993-1996 Algorithms Corporation */
- /* All rights reserved. */
-
-
-
-
- /* This file automatically generated by dpp - do not edit */
-
- #define DPP_STRATEGY 2
- #define DPP_FASTWIDE 0
-
-
-
- #line 15 "pointer.d"
- #include <math.h>
-
- #define CLASS Pointer_c
- #define ivType Pointer_iv_t
-
- #include "generics.h"
-
- object Pointer_c;
-
-
- #line 28 "pointer.c"
- typedef struct _Pointer_iv_t {
- void * iVal;
- } Pointer_iv_t;
-
-
-
- #line 21 "pointer.d"
- cmeth objrtn Pointer_cm_gNewWithPtr(object self, void *val)
- {
- object obj = oSuper(Pointer_c, gNew, self)(self);
- ivType *iv = ivPtr(obj);
- iv->iVal = val;
- return(obj);
- }
-
- imeth void * Pointer_im_gPointerValue(object self)
- { Pointer_iv_t *iv = GetIVs(Pointer, self);
- return iv->iVal;
- }
-
- imeth objrtn Pointer_im_gChangeValue(object self, object val)
- { Pointer_iv_t *iv = GetIVs(Pointer, self);
- iv->iVal = (void *) val;
- return self;
- }
-
- imeth int Pointer_im_gHash(object self)
- { Pointer_iv_t *iv = GetIVs(Pointer, self);
- double t;
-
- t = .6125423371 * (double) (unsigned long) iv->iVal;
- t = t < 0.0 ? -t : t;
- return (int) (BIG_INT * (t - floor(t)));
- }
-
- imeth int Pointer_im_gCompare(object self, object obj)
- { Pointer_iv_t *iv = GetIVs(Pointer, self);
- void *sv, *ov;
-
- ChkArg(obj, 2);
- if (ClassOf(obj) != CLASS)
- return oSuper(Pointer_c, gCompare, self)(self, obj);
- if ((sv=iv->iVal) < (ov=ivPtr(obj)->iVal))
- return -1;
- else if (sv == ov)
- return 0;
- else
- return 1;
- }
-
- imeth objrtn Pointer_im_gStringRepValue(object self)
- { Pointer_iv_t *iv = GetIVs(Pointer, self);
- return vSprintf(String, "%lp", iv->iVal);
- }
-
-
- #line 85 "pointer.c"
-
- objrtn Pointer_initialize(void)
- {
- static CRITICALSECTION cs;
- static int volatile once = 0;
-
- ENTERCRITICALSECTION(_CI_CS_);
- if (!once) {
- INITIALIZECRITICALSECTION(cs);
- once = 1;
- }
- LEAVECRITICALSECTION(_CI_CS_);
-
- ENTERCRITICALSECTION(cs);
-
- if (Pointer_c) {
- LEAVECRITICALSECTION(cs);
- return Pointer_c;
- }
- INHIBIT_THREADER;
- Pointer_c = gNewClass(Class, "Pointer", sizeof(Pointer_iv_t), 0, END);
- cMethodFor(Pointer, gNewWithPtr, Pointer_cm_gNewWithPtr);
- iMethodFor(Pointer, gCompare, Pointer_im_gCompare);
- iMethodFor(Pointer, gPointerValue, Pointer_im_gPointerValue);
- iMethodFor(Pointer, gStringRepValue, Pointer_im_gStringRepValue);
- iMethodFor(Pointer, gHash, Pointer_im_gHash);
- iMethodFor(Pointer, gChangeValue, Pointer_im_gChangeValue);
-
- ENABLE_THREADER;
-
- LEAVECRITICALSECTION(cs);
-
- return Pointer_c;
- }
-
-
-
-